#ifndef MUSIC_PLAYER_H
#define MUSIC_PLAYER_H

#include "lvgl/lvgl.h"
#include <stdbool.h>

// 播放状态枚举
typedef enum {
    MUSIC_STATE_STOPPED,
    MUSIC_STATE_PLAYING,
    MUSIC_STATE_PAUSED
} music_state_t;

// 播放模式枚举
typedef enum {
    MUSIC_MODE_REPEAT,      // 循环播放
    MUSIC_MODE_SHUFFLE      // 随机播放
} music_mode_t;

// 音乐播放器函数声明
void create_music_player_screen(void);
void cleanup_music_player_ui(void);

// 播放控制函数
void music_play(void);
void music_pause(void);
void music_stop(void);
void music_next(void);
void music_previous(void);
void music_set_volume(int volume);
void music_set_progress(int progress);

// 状态获取函数
music_state_t music_get_state(void);
music_mode_t music_get_mode(void);
int music_get_volume(void);
int music_get_progress(void);
const char* music_get_current_song(void);
const char* music_get_current_artist(void);
int music_get_current_song_index(void);

// 状态设置函数
void music_set_current_song_index(int index);

// 界面刷新函数
void refresh_music_player_ui(void);  // 刷新音乐播放器界面UI（用于云平台命令后的界面同步）

#endif /* MUSIC_PLAYER_H */
